﻿<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<style type="text/css">
body {
	font-size: 16px;
	background-color: #FFF;
}

ul li {
	list-style: inside;
	margin-left: 20px;
	list-style: none;
}

#content {
	position: absolute;
	left: 400px;
	top: 20px;
	width: 500px;
	height: 400px;
	border: 1px solid #cccccc;
}

#tips {
	position: absolute;
	z-index: 1;
	border: 1px solid #cccccc;
	background-color: #FFC;
	display: none;
	font-size: 14px;
}

.lightlabel {
	color: red;
	text-decoration: underline;
	cursor: pointer;
}
</style>
<title>JQUERY树状菜单</title>
<script type="text/javascript" src="script/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
  //实现每颗树的显示或者隐藏
  $(function(){
	  //ID选择器
	  //组合选择器
	  $("#lblNews,#lblProducts").click(function(){
		 //var obj=$("#lblNews").siblings();//siblings():获取到同辈元素的元素集合  div    img
		  //var containerDiv=$("#lblNews").siblings("div");//div
		  //var img=$("#lblNews").siblings("#imgOnOff");//img
		  var containerDiv=$(this).siblings("div");// div this:是当前事件触发的元素对象  $(this)--->jq对象
		  var img=$(this).siblings("#imgOnOff");//img this:是当前事件触发的元素对象  $(this)--->jq对象
		 // console.info(containerDiv);
		 //console.info(img);
		 
		 //进行效果显示控制
		  //alert(containerDiv.css("display"));//获取CSS样式属性
		 
		 if(containerDiv.css("display")=="block"){//显示----》隐藏
			 //containerDiv.hide(1000);//隐藏动画
			 containerDiv.slideUp(1000);//滑上
			 img.attr("src","img/close.gif");
		 }else{//隐藏----》显示
			 //containerDiv.show(1000);//显示动画
			 containerDiv.slideDown(1000);//滑下
			 img.attr("src","img/open.gif");
		 }
	  });
  });
  
  //实现所有树的显示或者隐藏
  $(function(){
	  $("#openclose").click(function(){
		  //获取元素对象    4个   2个div   2个img
		  //属性选择器    全匹配   首匹配   尾匹配   模糊匹配
		  //$("div[name^=div]");// 首匹配 
		  //$("div[name$=Container]");//尾匹配
		 var div= $("div[name*=Contain]");// 模糊匹配 2个div 
		 
		 var img=$("img[name='imgOnOff']");//全匹配  
		// console.info(img);
		 //console.info(div);
		 
		 //进行显示控制
		 //注意：div中有两个以上的元素对象时，获取样式属性的时候，会以第一个div元素为基准点进行判断
		 if(div.css("display")=="block"){//显示----》隐藏  
			 div.fadeOut(1000);//滑上
			 img.attr("src","img/close.gif");
		 }else{//隐藏----》显示
			 div.fadeIn(1000);//滑下
			 img.attr("src","img/open.gif");
		 }
	  });
  });
  
  //实现横向排列  和纵向排列
  $(function(){
	  //实现横向排列   
	  $("#horder").click(function(){
		  //子对象选择器    层级选择器
		 var li= $("ul>div>li");//8个
		 
		 
		 //进行效果显示控制
		 //实现横向排列实际就是操作li标签的css样式属性中的浮动属性,值为左浮动
		 li.css("float","left");//设置
	  });
	  
	  //实现纵向排列
	  $("#vorder").click(function(){
		  //层级选择器
		  var li=$("ul li");//8个
		  
		//进行效果显示控制
	    //实现纵向排列实际就是操作li标签的css样式属性中的浮动属性,清除左浮动
	   li.css("float","none");
	  });
  });
  
  //提示信息的实现     鼠标移上去mouseover():给出提示信息   鼠标离开mouseout():的时候清空提示信息      event对象：事件触发过程中由浏览器产生，我们直接使用即可
  $(function(){
	  //鼠标移上去mouseover():给出提示信息
	  $("ul div li label").mouseover(function(event){
		  //获取label标签的文本值
		  var txt=$(this).text();
		  //获取用于信息的提示的元素对象，设置提示信息
		  $("#tips").html("<b>点击查看【"+txt+"】信息</b>");
		  
		  //控制提示信息显示的位置  left  top
		  $("#tips").css("left",event.pageX+10);
		  $("#tips").css("top",event.pageY+5);
		  
		  //显示
		  $("#tips").show();
		  
		  //为当前的label标签增加一个class样式
		  $(this).addClass("lightlabel");
	  });
	  
	  //鼠标离开mouseout():的时候清空提示信息 
	  $("ul div li label").mouseout(function(){
		  //获取用于信息的提示的元素对象，清空提示信息
		  $("#tips").html("");
		  
		  //设置提示信息的位置   归于原点   0  0
		   $("#tips").css({left:"0","top":"0"});
		  
		  //将提示的元素对象div隐藏
		  $("#tips").hide();
		  //为当前的label标签移除一个class样式  lightlabel
		  $(this).removeClass("lightlabel");
	  });
  });
  
  //获取新闻
  $(function(){
	  $("div[name='divNewsContainer'] label").click(function(){
		   var ntype=$(this).attr("ntype");
		  //发送ajax请求
		  $.ajax({
			  url:"news.action",
			  type:"get",
			  data:{"ntype":ntype},
			  dataType:"json",
			  success:function(result){
				  //进行页面显示控制
				  
				  var content=$("#content");
				  content.empty();
				  //遍历进行新闻追加
				  for(var i=0;i<result.length;i++){
					  var news=result[i];
					  content.append("<a href='#'>"+news.title+"("+news.time+")"+"</a><br/>"); 
				  }
			  },
			  error:function(xhr,text,message){
				  console.info(xhr);
				  //console.info(text);
				  //console.info(message);
				  if(xhr.status==500){
					  alert("服务器异常，请联系管理员");
				  }
			  }
		  });
	  });
  });
  
  
  //获取产品log
  $(function(){
	  $("div[name='divProductsContainer'] label").click(function(){
		  //获取产品 牌名称
		  var p=$(this).attr("product");
		  var url="product.action";
		  var data={"p":p};
		  //进行显示控制
		  $("#content").load(url,data);
	  });
  });
</script>
<body>
	<p>
		<input type="button" name="openclose" id="openclose" value="展开/折叠" />
		<input type="button" name="horder" id="horder" value="横向排列" /> 
		<input type="button" name="vorder" id="vorder" value="纵向排列" />
	</p>
	<ul>
		<img id="imgOnOff" name="imgOnOff" src="img/open.gif" />
		<label id="lblNews">&nbsp;国际动态</label>
		<div name="divNewsContainer">
			<li><img src="img/item.gif" /><label id="lblLocal" ntype="local">国内新闻</label></li>
			<li><img src="img/item.gif" /><label id="lblInternational" ntype="international">国际新闻</label></li>
		</div>
	</ul>
	<br />
	<ul>
		<img id="imgOnOff" name="imgOnOff" src="img/open.gif" />
		<label id="lblProducts">&nbsp;产品展示</label>
		<div name="divProductsContainer">
			<li><img src="img/item.gif" /><label id="lblAdidas" product="adidas">阿迪达斯</label></li>
			<li><img src="img/item.gif" /><label id="lblNike" product="nike">NIKE</label></li>
			<li><img src="img/item.gif" /><label id="lblKuangWei" product="converse">匡威</label></li>
			<li><img src="img/item.gif" /><label id="lblAddNice" product="addnice">AddNice</label></li>
			<li><img src="img/item.gif" /><label id="lblLiNing" product="lining">李宁</label></li>
			<li><img src="img/item.gif" /><label id="lblLee" product="lee">Lee</label></li>
		</div>
	</ul>
	<div id="tips"></div>
	<div id="content"></div>
</body>
</html>
